Micron Document
`:top
Der `!Advanced Programmable Interrupt Controller`! (kurz `*APIC`*, nicht zu verwechseln mit `*`F33f`_`[ACPI`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Advanced_Configuration_and_Power_Interface]`_`f`*) sorgt für die Verteilung von `F33f`_`[Interrupts`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Interrupt]`_`f in `F33f`_`[x86-`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=X86-Prozessor]`_`f und `F33f`_`[Itanium`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Intel_Itanium]`_`f-basierenden Computersystemen.

Der APIC besteht im Gegensatz zum `F33f`_`[PIC`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Programmable_Interrupt_Controller]`_`f aus zwei Komponenten, dem

• `*Local APIC`*, normalerweise Teil der `F33f`_`[CPU`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Hauptprozessor]`_`f, und dem
• `*I/O-APIC`* im `F33f`_`[Chipsatz`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Chipsatz]`_`f.

Für die CPU-Familien `F33f`_`[Pentium`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Intel_Pentium]`_`f, `F33f`_`[Pentium Pro`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Intel_Pentium_Pro]`_`f, `F33f`_`[Pentium II`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Intel_Pentium_II]`_`f und `F33f`_`[Pentium III`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Intel_Pentium_III]`_`f (Generation P5 und P6) kommt ein zusätzliches APIC-Bus-System dazu, das die einzelnen APICs untereinander verbindet. Seit dem `F33f`_`[Pentium 4`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Intel_Pentium_4]`_`f (Generation `F33f`_`[NetBurst`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Intel-NetBurst-Mikroarchitektur]`_`f und `F33f`_`[Core`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Intel-Core-Mikroarchitektur]`_`f) werden die Nachrichten zwischen den APICs über den normalen plattformspezifischen System-Bus ausgetauscht.

Vereinfacht funktioniert das System so, dass der I/O-APIC die `F33f`_`[Interrupt Requests`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Interrupt_Request]`_`f von den Geräten im System entgegennimmt, und sie als `*Interrupt Messages`* auf die Local APICs in den Prozessoren des Systems verteilt. Die Local APICs leiten dann wiederum den jeweils höchstpriorisierten Interrupt an den CPU-Kern weiter. Ist dieser abgearbeitet, leitet der Local APIC den nächsten Interrupt weiter.

Das APIC-System wurde ursprünglich von `F33f`_`[Intel`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Intel]`_`f entwickelt, um die `F33f`_`[Interruptverteilung`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Interrupt]`_`f in `F33f`_`[Multiprozessorsystemen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Multiprozessorsystem]`_`f zu ermöglichen, was mit dem vorhandenen `F33f`_`[XT-PIC`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Programmable_Interrupt_Controller]`_`f nicht realisierbar war. Mittlerweile verwenden auch immer mehr Einzelprozessorsysteme das APIC-System, da es noch weitere Probleme des XT-PIC beseitigt:

• Mehr Eingänge für Interruptleitungen verringern die Wahrscheinlichkeit, dass sich mehrere Geräte einen Interrupt teilen müssen.
• Mehr Flexibilität: Jeder Interrupt kann separat konfiguriert werden.
• Prioritäten der Interrupts können nahezu beliebig festgelegt werden.
• `F33f`_`[Message-Signaled Interrupts`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Message-Signaled_Interrupts]`_`f werden unterstützt.
• Prozessoren können sich gegenseitig Interrupts schicken (`F33f`_`[Interprocessor Interrupts`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Inter_Processor_Interrupt]`_`f).
• Schnellere Programmierung, vor allem des Local APIC.

APIC wird heute von allen aktuellen Betriebssystemen unterstützt, ist aber auch für eine Reihe von Fehlern verantwortlich, da die Implementierungen teilweise fehlerhaft sind.

>>Weblinks

• Intel® 82093AA I/O Advanced Programmable Interrupt Controller (I/O APIC)
• IA-32 Intel® Architecture Software Developer’s Manual Volume 3A Chapter 9: System Programming Guide (Local APIC)

`c`F0af`_`[↑ Back to top`#top]`_`f`a